package com.caiyi.financial.nirvana.sms.jedis;

/**
 * 所有redis使用到的key全部以常量的形式存放于此
 */
public class JedisKey {

    private JedisKey() {
    }

    /**
     * 登陆存储IP登陆次数
     */
    public static final String SMS_COMMON_IP = "sms:common:%s";

    /**
     * 基础数据key
     **/
    //敏感词key
    public static final String SMS_KEYWORD = "sms:keyword";
    //网关信息key
    public static final String SMS_GATEWAY = "sms:gateway:%s";
    //产品信息key
    public static final String SMS_PRODUCT = "sms:product:%s";
    //用户基础信息
    public static final String SMS_USER = "sms:user:%s";
    //用户签名信息
    public static final String SMS_SIGN = "sms:sign:%s";
    //用户余额信息
    public static final String SMS_BALANCE = "sms:balance:%s";
    //账号黑名单
    public static final String SMS_BLACKLIST_ACCOUNT = "sms:blacklist:%s";
    //平台黑名单
    public static final String SMS_BLACKLIST = "sms:blacklist";
    //账号扩展码
    public static final String SMS_EXTEND_ACCOUNT = "sms:extend:%s";
    //用户短信模板
    public static String SMS_TEMPLATE = "sms:template:%s";
    //白名单
    public static String SMS_WHITE_LIST_ACCOUNT = "sms:whitelist:%s";

    /**
     * 队列key
     **/
    //更新余额队列
    public static final String SMS_QUEUE_BALANCE_UPDATE = "sms:queue:balance:update";
    //发送队列(行业)
    public static final String SMS_QUEUE_INDUSTRY_MSG_SEND = "sms:queue:industry:msg:send:%s";
    //发送队列(营销)
    public static final String SMS_QUEUE_MARKETING_MSG_SEND = "sms:queue:marketing:msg:send:%s";
    //告警短信队列
    public static final String SMS_QUEUE_ALARM_MSG_SEND = "sms:queue:alarm:msg:send";
    //batch_msg入库队列
    public static final String SMS_QUEUE_BATCH_MSG_DB = "sms:queue:batch:msg:db";
    //sms_audit_batch入库队列
    public static final String SMS_QUEUE_BATCH_MSG_AUDIT_DB = "sms:queue:batch:audit:msg:db";
    //msg入库队列
    public static final String SMS_QUEUE_MSG_DB = "sms:queue:msg:db";
    //上行入库队列
    public static final String SMS_QUEUE_RECEIVE_MESSAGE_DB = "sms:queue:receive:message:db";
    //TD黑名单入库队列
    public static final String SMS_QUEUE_BLACKLIST_INSERT_DB = "sms:queue:blacklist:insert:db";
    //网关通知状态队列
    public static final String SMS_QUEUE_NOTIFY_STATUS = "sms:queue:notify:status";
    //上行短信入库队列
    public static final String SMS_QUEUE_RECEIVE_MSG = "sms:queue:receive:msg";
    //存储短信状态报告
    public static final String SMS_QUEUE_REPORT_LIST_ACCOUNT = "sms:queue:report:list:%s";
    //CMPP状态报告
    public static final String SMS_QUEUE_CMPP_REPORT_LIST_ACCOUNT = "sms:queue:cmpp:report:list:%s";
    //CMPP状态报告(留存)
    public static final String SMS_QUEUE_BAK_REPORT_LIST_ACCOUNT = "sms:queue:bak:report:list:%s";
    /**
     * 发布订阅
     */
    //gateway系统订阅通道
    public static final String SMS_SUBSCRIBE_GATEWAY_ACTION = "sms:subscribe:gateway:action";
    //API系统订阅通道
    public static final String SMS_SUBSCRIBE_API_ACTION = "sms:subscribe:api:action";

    /**
     * 其他key
     */
    public static final String SMS_REMIND_COUNT_ACCOUNT = "sms:remind:count:%s";
    public static final String SMS_NODE_ID = "sms:node:id";
    public static final String SMS_REMOTE_ID_MESSAGE_ID = "sms:remote_id:message_id";
    public static final String SMS_GATEWAY_BALANCE = "sms:gateway_balance";
    public static final String SMS_REMIND_GATEWAY = "sms:remind:gateway:%s";
    //SMS_MATE表数据加载
    public static final String SMS_MATE_VALUES = "sms:mate:values";
    //统计移动、联通月发送量
    public static final String SMS_ID_GATEWAY_BALANCE = "sms:%s:gateway:balance";
    //网关id轮询标志
    public static final String SMS_ACCOUNT_PHONE = "sms:account:%s:phone:%s";
    //定时任务集群下选取一台执行
    public static final String SMS_SCHEDULED_KEY_METHOD = "sms:scheduled:%s:%s";
    //记录短信发送过期时间（用于防止短信发送频繁）
    public static final String SMS_ACCOUNT_PHONE_TIME_SEND_EXPIRE = "sms:%s:%s:%s:send:expire";
    //余额更新
    public static final String SMS_UPDATE_BALANCE = "sms:update:balance";

}
